Una política pública con impacto territorial, ¿tendrá el mismo impacto en el centro de la Ciudad de Buenos Aires, Córdoba o Santa Fe qué en un barrio de una ciudad pequeña? ¿Cómo podemos conocer de antemano que hay en el territorio? Cuando nos enfrentamos a diferentes problemas de políticas públicas, es importante entender y tener en cuenta el territorio donde se van a implementar. Un plan de acción diseñado para la Ciudad de Buenos Aires difícilmente sea replicable en una ciudad del interior debido a diferencias intrínsecas al territorio y la población de uno y otro lugar. Para analizar estas diferencias y estimar el impacto de antemano se puede utilizar las unidades geoestadísticas producidas por INDEC. Una de esas unidades geoestadísticas son los radios censales.
Este documento esta organizado de la siguiente manera. En la Sección 2, vamos a introducir el concepto de Radio Censal, cómo se construye y cómo podemos graficarlos fácilmente. En la Sección 3 vamos a analizar qué información hay disponible para los Radios Censales y vamos a realizar distintas operaciones en conjunto a los radios Censales. En la Sección 4 vamos a utilizar la herramienta GeoRef y normalizar direcciones, nombre de departamentos y, en algunos casos, obtener Latitud y Longitud. Cada sección tiene una parte conceptual y una parte de código. A lo largo del documento, nuestro ejemplo será el Municipio de Lomas de Zamora, en la Provincia de Buenos Aires.
Es una unidad geográfica que agrupa entre 100 y 300 viviendas, dependiendo de si son urbanos, rurales o rurales mixtos. En la Argentina, la institución responsable de diseñar y mantener los radios censales es el INDEC. En total hay más de 52.000 radios censales en el país, siendo la Provincia de Buenos Aires el que mas tiene. El código del radio censal viene dado por un numero de código de 9 números, como el siguiente:
\[064900302\]
El código es el resultado de una concatenación de códigos:
En la Argentina hay mucha información públicada por distintos organismos públicos que vienen agregados a nivel de Radios Censales. Por ejemplo, junto a los radios censales, INDEC pública cinco variables básicas de las tres unidades de relevamiento del censo (población, hogares y viviendas): población total por sexo, total de hogares, total de viviendas particulares y total de viviendas particulares habitadas.
A su vez, mucha información social, económica y demográfica proveniente del último censo (2010) que pública el INDEC lo hace con datos agregados en radios censales. Sin embargo, utilizando técnicas de Sistemas de Información Geográfica (SIG o GIS en ingles) y utilizando distintas fuentes, se pueden construir una amplia variedad de capas de información: cantidad de escuelas por radio censal, porcentaje de de personas con necesidades básicas insatisfechas, porcentaje del radio censal ocupado por un Barrio Popular, etc.
Lo primero que vamos a tener que hacer es bajarnos el archivo “shapefile” del territorio con el que vamos a trabajar. La fuente oficial en la Argentina es el INDEC y podemos acceder a ellos a través de la siguiente página. Para este tutorial vamos a trabajar con datos de la Provincia de Buenos Aires, por lo tanto vamos a bajar el siguiente archivo:
https://www.indec.gov.ar/ftp/cuadros/territorio/codgeo/Codgeo_Buenos_Aires_con_datos.zip
Una vez que lo hemos descargado, vamos a abrir el archivo utilizando el paquete sf1.
# Instalamos los paquetes si no están instalados en nuestras computadoras
# install.packages("tidyverse")
# install.packages("sf")
# Carga de los paquetes a utilizar
library(tidyverse)
library(sf)
# Abriendo el shp
radios.buenos.aires <- st_read("Datos/Codgeo_Buenos_Aires_con_datos/", layer = "Buenos_Aires_con_datos")
## Reading layer `Buenos_Aires_con_datos' from data source `/Users/lauti/Google Drive/Lauti/Proyectos/03.Accesibilidad/Datos/Codgeo_Buenos_Aires_con_datos' using driver `ESRI Shapefile'
## Simple feature collection with 19577 features and 8 fields
## geometry type: MULTIPOLYGON
## dimension: XY
## bbox: xmin: 3721440 ymin: 5452221 xmax: 4335413 ymax: 6305225
## epsg (SRID): NA
## proj4string: +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=WGS84 +units=m +no_defs
Cuando cargamos el archivo geografico, vemos
Simple feature collection with 19577 features and 8 fields: estamos abriendo un dataset que contiene 19577 filas y 8 columnas.geometry type: MULTIPOLYGON: los archivos con información geográfica contienen colecciones de puntos, de líneas, o de polígonos y sus respectivas versiones “múltiples”: múltiples puntos, líneas o polígonos Los Radios Censales son múltiples polígonosdimension: XY: es la cantidad de dimensiones con las que se esta trabajando, en este caso, dos. Si hubiese tres dimensiones, sería XYZbbox: xmin: 3721440 ymin: 5452221 xmax: 4335413 ymax: 6305225: bbox es la simplificación para “bounding box”, una caja delimitadora. Estos valores son la latitud mínima, la longitud mínima, la latitud máxima y la longitud máxima del conjunto de datosepsg (SRID): NA y proj4string: +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=WGS84 +units=m +no_defs: nos brindan información referida al sistema de coordenadas de referencia (Coordinate Reference System (CRS)).Como vemos en el punto anterior, epsg (SRID): es NA. Por lo tanto, lo que se debe hacer es transformarlo al mismo CRS que vamos a utilizar a lo largo del trabajo EPSG: 4326 y para ello vamos a utilizar la función st_transform.
radios.buenos.aires <- st_transform(radios.buenos.aires, crs = 4326)
La primer aproximación a este dataset debería ser ver que datos tiene:
# Exploración inicial de datos
summary(radios.buenos.aires)
## toponimo_i link varon mujer
## Min. :284416 060070101: 1 Min. : 0.0 Min. : 0.0
## 1st Qu.:299826 060070102: 1 1st Qu.: 196.8 1st Qu.: 217.0
## Median :304911 060070103: 1 Median : 383.0 Median : 418.0
## Mean :303920 060070104: 1 Mean : 388.9 Mean : 410.2
## 3rd Qu.:309949 060070105: 1 3rd Qu.: 545.0 3rd Qu.: 577.0
## Max. :336781 060070106: 1 Max. :3647.0 Max. :3108.0
## (Other) :19571 NA's :25 NA's :25
## totalpobl hogares viviendasp viv_part_h
## Min. : 0.0 Min. : 0 Min. : 0.0 Min. : 0.0
## 1st Qu.: 417.0 1st Qu.: 148 1st Qu.: 203.0 1st Qu.: 140.0
## Median : 801.0 Median : 261 Median : 291.0 Median : 243.0
## Mean : 799.2 Mean : 245 Mean : 275.1 Mean : 226.3
## 3rd Qu.:1121.0 3rd Qu.: 341 3rd Qu.: 371.0 3rd Qu.: 317.0
## Max. :5895.0 Max. :1370 Max. :1259.0 Max. :1109.0
## NA's :25 NA's :25 NA's :25 NA's :25
## geometry
## MULTIPOLYGON :19577
## epsg:4326 : 0
## +proj=long...: 0
##
##
##
##
Aquí vemos que el archivo radios.buenos.aires tiene las siguientes variables:
toponimo_i: Identificación única propia del archivolink: ID del Radio Censalvaron: cantidad de varones en dicho radio censalmujer: cantidad de mujeres en dicho radio censaltotalpobl: población totalhogares: cantidad total de hogaresviviendasp: total de viviendas particularesviv_part_h: total de viviendas particulares habitadasgeometry: información geográfica que utiliza R para hacer la visualización del mapa.El siguiente paso será visualizar los radios censales de la Provincia de Buenos Aires. Para dicha tarea hay una gran variedad de paquetes en R que responden a distintas necesidades. Nosotros vamos a utilizar el paquete ggplot2 para las visualizaciones estáticas (preferible, por ejemplo, para la elaboración de informes impresos) y el paquete leaflet para la visualización dinámica (preferible para la exploración interactiva).
Vayamos primero con ggplot2:
# Instalamos los paquetes si no están instalados en nuestras computadoras
# install.packages("ggplot2")
# Carga de los paquetes a utilizar
library(ggplot2)
ggplot() + geom_sf(data = radios.buenos.aires) +
labs(title = "Radios Censales de la Provincia de Buenos Aires",
subtitle = "Fuente: INDEC")
Lo primero que se puede ver a simple vista es el contorno de la Provincia de Buenos Aires. Lo segundo que se puede apreciar es el tamaño dispar de muchos de los radios censales, concentrándose los mas pequeños alrededor de las ciudades y los más extensos en el medio del campo. La desventaja es que si como analístas queremos explorar un área con mayor detenimiento, deberíamos usar algún paquete interactivo, como leaflet.
# Instalamos los paquetes si no están instalados en nuestras computadoras
# install.packages("leaflet")
# Carga de los paquetes a utilizar
library(leaflet)
leaflet() %>%
addTiles() %>%
addProviderTiles("CartoDB.Positron") %>%
# Mapeando los poligonos de Lomas de Zamora
addPolygons(data = radios.buenos.aires,
color = "grey", weight = 1, smoothFactor = 0.5,
opacity = 1.0)